-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DataChannel subchannels #1152
DataChannel subchannels #1152
Conversation
NOTE: Fixed, see UPDATE at the end of this comment. Currently dealing with this error:
I've just added |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM so far 👍
NOTE: Fixed, see UPDATE at the end of this comment. In this commit 2f5399d I'm trying to process
And if in the first test in
UPDATE: Fixed in 6b83027
|
@@ -93,24 +93,34 @@ namespace RTC | |||
{ | |||
MS_TRACE(); | |||
|
|||
flatbuffers::Offset<FBS::SctpParameters::SctpStreamParameters> sctpStreamParametersOffset; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've removed Offset
suffix to be consistent. For instance, in Producer::FillBuffer()
we don't add Offset
suffix anywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jmillan I think we should decide whether Offset
suffix must be added or not. I see equivalent places where it's added and others in which it's not. IMHO it's redundant and unsightly and we should remove it from everywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I agree.
@nazar-pc maybe you know about this unexpected https://github.com/versatica/mediasoup/actions/runs/6121294807/job/16619834171?pr=1152
|
Looks like it tries to prvent you from doing something bad, is that a new dependency? I don't see any Rust file changes in this PR 😕 |
This PR (which doesn't change absolutely anything in Rust side) has |
Hm, didn't check where it comes from, but worth reporting upstream to ntapi crate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just few considerations noted. 👍
size_t len) override; | ||
size_t len, | ||
uint32_t ppid, | ||
std::vector<uint16_t>& subchannels, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be const
, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What you mean? Everything? len, ppid, subchannels and requiredSubchannel?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just meant subchannels
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And why should we make it const
and not all the other arguments in this method and tons of others?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But ignore if you want. We can approach the const correctness matter later on.
size_t len) = 0; | ||
size_t len, | ||
uint32_t ppid, | ||
std::vector<uint16_t>& subchannels, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same, const
.
const uint8_t* msg, | ||
size_t len, | ||
uint32_t ppid, | ||
std::vector<uint16_t>& subchannels, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same.
@@ -93,24 +93,34 @@ namespace RTC | |||
{ | |||
MS_TRACE(); | |||
|
|||
flatbuffers::Offset<FBS::SctpParameters::SctpStreamParameters> sctpStreamParametersOffset; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I agree.
@@ -9,11 +9,11 @@ table Boolean { | |||
value:uint8; | |||
} | |||
|
|||
table Integer { | |||
table Integer32 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
even Int32
could make it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, please. If so I should also rename Integer32Array
to Int32Array
. However Int32Array
is a JS binary array class so conflicts.
Honestly I have no idea what |
…quiredSubchannel"
So there is a related bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1826485 It seems to be fixed in However I have no idea which Then people say here that "For some reason (I don't know why) Cargo picked an older version of tokio that used (indirectly) an older version of ntapi. Force Cargo to use new tokio by setting its version to "1.28.0" (the newest version), and it should work.". We have |
@nazar-pc can we do this in |
Fixes #1151
transport.consumeData({ subchannels })
.dataConsumer.subchannels
getter.dataConsumer.setSubchannels()
method.test-DataConsumer.ts
.dataProducer.send(message, ppid, subchannels, requiredSubchannel)
(new args).dataProducer.send()
withDataConsumers
subscribed to specific subchannels.transport.consumeData({ subchannels })
.dataConsumer.subchannels
getter.dataConsumer.setSubchannels()
method.dataProducer.send(message, ppid, subchannels, requiredSubchannel)
(new args).